#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 32
// struct animals
// {
//     char dog;                               // m=16, 1+7
//     unsigned long cat;                      // m=8,  8
//     short pig __attribute__((aligned(16))); // m=16, 2
//     char fox;                               // m=1,  1+13
// }; // M=16

// 48
struct animals
{
    char dog;                               // m=1, 1+7=8
    long double cat;                        // m=8, 16+8=24
    short pig __attribute__((aligned(16))); // m=16,2
    char fox;                               // m=1, 1+13
}; // M=16

// 48
struct animals
{
    char dog;                               // m=1, 1+15
    long double cat;                        // m=16,16
    short pig __attribute__((aligned(16))); // m=16,2
    char fox;                               // m=1, 1+13
}; // M=16


int main(int argc, char const *argv[])
{
    printf("%ld\n", sizeof(struct animals));
    return 0;
}
